第8章 标准库
本章主要内容
- 输出数据以及记录日志
- 对JSON进行编码和解码
- 处理输入/输出,并以流的方式处理数据
- 让标准库里多个包协同工作
什么是Go标准库?为什么这个库这么重要?Go标准库是一组核心包,用来扩展和增强语言的能力。这些包为语言增加了大量不同的类型。开发人员可以直接使用这些类型,而不用再写自己的包或者去下载其他人发布的第三方包。由于这些包和语言绑在一起发布,它们会得到以下特殊的保证:
- 每次语言更新,哪怕是小更新,都会带有标准库;
- 这些标准库会严格遵守向后兼容的承诺;
- 标准库是Go语言开发、构建、发布过程的一部分;
- 标准库由Go的构建者们维护和评审;
- 每次Go语言发布新版本时,标准库都会被测试,并评估性能。
这些保证让标准库变得很特殊,开发人员应该尽量利用这些标准库。使用标准库里的包可以使管理代码变得更容易,并且保证代码的稳定。不用担心程序无法兼容不同的Go语言版本,也不用管理第三方依赖。
如果标准库包含的包不够好用,那么这些好处实际上没什么用。Go语言社区的开发者会比其他语言的开发者更依赖这些标准库里的包的原因是,标准库本身是经过良好设计的,并且比其他语言的标准库提供了更多的功能。社区里的Go开发者会依赖这些标准库里的包做更多其他语言中开发者无法做的事情,例如,网络、HTTP、图像处理、加密等。
本章中我们会大致了解标准库的一部分包。之后,我们会更详细地探讨3个非常有用的包: log
、 json
和 io
。这些包也展示了Go语言提供的重要且有用的机制。